package com.sjsu.CMPE226.partitioned.hibernate.util;

import java.io.File;

import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;

public class HibernateUtil {

	private static final SessionFactory sessionFactory = buildSessionFactory();

	private static SessionFactory buildSessionFactory() {
		try {
			// Create the SessionFactory from hibernate.cfg.xml
			String hibernateConfPath = HibernateUtil.class.getClass().getResource("/").getPath()
			        + "../resources/Partitioned/hibernate.cfg.xml";
			System.out.println("/Partitioned/hibernate.cfg.xml:" + hibernateConfPath);
			
			File cfgF = new File(hibernateConfPath);
			Configuration cfg = new Configuration();
			cfg.configure(cfgF);
			return cfg.buildSessionFactory();
			
			//return new Configuration().configure().buildSessionFactory();
		} catch (Throwable ex) {
			// Make sure you log the exception, as it might be swallowed
			System.err.println("Initial SessionFactory creation failed." + ex);
			throw new ExceptionInInitializerError(ex);
		}
	}

	public static SessionFactory getSessionFactory() {
		return sessionFactory;
	}

}